package com.bysc.commentservice.service;

import com.bysc.commentservice.entity.CommentPost;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bysc.commentservice.entity.vo.CommentQueryVo;
import com.bysc.commentservice.entity.vo.PostFormVo;
import com.bysc.commonutils.vo.PageResult;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author kkk
 * @since 2024-06-15
 */
public interface CommentPostService extends IService<CommentPost> {

    CommentPost addPostByToken(PostFormVo postFormVo, String userId);

    PageResult getPostListByCommentQueryVoAndTokenOrderByCreatTime(String userId, Integer page, Integer limit, CommentQueryVo queryVo);

    void updatePost(PostFormVo postFormVo, Object id);

    CommentPost deletePost(Object id);

    PageResult getPostListByCommentQueryVoAndTokenOrderByLike(String userId, Integer page, Integer limit, CommentQueryVo queryVo);

    CommentPost getPostByPostId(Object id);

    CommentPost getPostInfoByTokenAndPostId(String userId, Object id);

    PageResult getCollectedPostListByToken(String userId, Integer page, Integer limit);

    PageResult getLikedPostListByToken(String userId, Integer page, Integer limit);
}
